Skip to main content

qiqi.sdk

sdk 提供调用移动端设备能力的方法

sdk 汇总

类型api描述平台支持
微信小程序企业微信钉钉飞书
媒体类chooseImages选择图片
previewImages预览图片
uploadImages上传图片
chooseAndUploadImages选择并上传图片
位置getLocation获取定位
设备scanCode扫码

使用方式 qiqi.sdk.[apiName](option):Promise<NativeSDKResult<T>>

  • 所有api的返回如下结构的结果
type NativeSDKResult<T> = {
errCode: string // 错误码
errMessage: string // 错误信息
data: T // 返回结果 T 不同的Api 返回不同的结果泛型
}
  • 调用例子
async function upload(){
const { errCode, errMessage, data } = await qiqi.sdk.chooseImages({
...
})
if(data){
await qiqi.sdk.uploadImages({
...
})
}
...
}

媒体

chooseImages(Object object)

  • 功能描述
    从本地相册选择图片或使用相机拍照

  • 参数

参数说明类型默认值必填
count最多可以选择的图片张数number9
sizeType所选的图片的尺寸Array<string>['original','compressed']
sourceType选择图片的来源Array<string>['album','camera']

sizeType 可用值

  • original 原图
  • compressed 压缩图

sourceType 可用值

  • album 从相册选图
  • camera 使用相机
由于我们使用的钉钉的SDK是比较早期的版本 sizeType 和 sourceType 在钉钉上不生效 未来我们升级到新版的SDK 支持此参数
  • 返回值 Promise<NativeSDKResult<<ChooseImageResult>>
type ChooseImageResult = {
tempFilePaths: Array<string> // 图片的本地临时文件路径列表 (本地路径)
files?: Array<File> // 文件列表 飞书和移动端浏览器上传 会返回files
}
  • 例子
const { errCode, errMessage, data} = await qiqi.sdk.chooseImages({
sourceType: ['camera'], // 只允许相机
})

previewImages(Object object)

  • 功能描述
    在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作

  • 参数

    参数说明类型默认值必填
    urls需要预览的图片链接列表Array<string>
    current当前显示图片的链接stringurls 的第一张
  • 返回值 Promise<NativeSDKResult<<boolean>>

  • 例子

const { errCode, errMessage, data} = await qiqi.sdk.previewImages({
urls: [
'https://img.500px.me/photo/125fe154e495795525293c5bf0dfa2043/17b6e927903c4c5f98c3ccc85bfbe9c7.jpg!p5',
'https://img.500px.me/photo/125fe154e495795525293c5bf0dfa2043/02963964949b4f41a172c4e829a081b3.jpg!p5'
]
})
if(data){
console.log('invoke success!')
}

uploadImages(Object object)

  • 功能描述
    将本地选择的图片上传到 企企S3服务临时存储返回file key 后续通过开发可以将文件从临时存储空间读取

  • 参数

    参数说明类型默认值必填
    filePaths要上传文件资源的路径 (本地路径)string[]
    files要上传文件资源的路径 (本地路径)File[]
    expireTime上传到S3过期时间stringHOUR24
    showProgress是否显示上传进度booleantrue

expireTime可选值

  • HOUR24
  • HOUR48
    此参数传其他值会报错
  • 返回值 Promise<NativeSDKResult<UploadImageResult[]>>

    type UploadImageResult = {
    key:string // 上传的key 使用此key 可以下载上传的临时文件
    url:string // 文件地址
    name: string // 文件名称
    type: string // 类型
    size: number // 文件大小
    ext: string // 文件后缀
    tempFilePath: string // 本地文件地址
    headers: Record<string, string> // S3 上传的认证信息
    status: 'success' | 'fail' // 状态
    }
  • 例子

    const { errCode, errMessage, data }  = await qiqi.sdk.chooseImages({
    ...
    })
    if(data){
    const result = await qiqi.sdk.uploadImages({
    filePaths: data.tempFilePaths,
    files: data.files,
    showProgress: false // 不显示上传进度
    })
    }

    chooseAndUploadImages(Object object)

  • 功能描述
    选择文件直接上传 不需要再次调用uploadImages 这个功能相当于将chooseImages和uploadImages 整合起来

  • 参数

    参数说明类型默认值必填
    count最多可以选择的图片张数number9
    sizeType所选的图片的尺寸Array<string>['original','compressed']
    sourceType选择图片的来源Array<string>['album','camera']
    expireTime上传到S3过期时间stringHOUR24
    showProgress是否显示上传进度booleantrue
  • 返回值 Promise<NativeSDKResult<UploadImageResult[]>>
  • 例子
const { errCode, errMessage, data }  = await qiqi.sdk.chooseAndUploadImages({
...
})

位置

getLocation(Object object)

  • 功能描述
    获取当前的地理位置

  • 参数

参数说明类型默认值必填
typewgs84 返回 gps 坐标stringwgs84
  • 返回值 Promise<NativeSDKResult<GetLocationResult>>
type GetLocationResult = {
latitude: number // 纬度,范围为 -90~90,负数表示南纬
longitude: number // 经度,范围为 -180~180,负数表示西经
}
  • 例子
const { data } = await qiqi.sdk.getLocation({
...
})

扫码

scanCode(Object object)

  • 功能描述
    调起客户端扫码界面进行扫码 支持条形码和二维码

  • 参数
    暂时不需要提供参数

  • 返回值 Promise<NativeSDKResult<ScanCodeResult>

type ScanCodeResult = {
resultStr: string
}
  • 例子
const { data } = await qiqi.sdk.scanCode({
...
})